SÀkerstÀll inkluderande webbupplevelser för anvÀndare vÀrlden över genom att implementera tillgÀngliga formulÀretiketter. LÀr dig bÀsta praxis för WCAG-efterlevnad och förbÀttrad anvÀndbarhet.
FormulÀretiketter: Viktiga krav för tillgÀnglighet i inmatningsfÀlt
FormulÀr Àr en grundlÀggande del av webben. FrÄn enkla kontaktformulÀr till komplexa kassor i e-handel, gör de det möjligt för anvÀndare att interagera med webbplatser och applikationer. DÄligt utformade formulÀr kan dock skapa betydande hinder för anvÀndare med funktionsnedsÀttningar. En avgörande del i att skapa tillgÀngliga formulÀr Àr korrekt anvÀndning av formulÀretiketter. Denna guide ger en omfattande översikt över tillgÀnglighetskrav för formulÀretiketter, vilket sÀkerstÀller att dina formulÀr Àr anvÀndbara för alla, oavsett deras förmÄgor.
Varför Àr tillgÀngliga formulÀretiketter viktiga?
TillgÀngliga formulÀretiketter Àr avgörande av flera anledningar:
- AnvÀndbarhet: Tydliga och koncisa etiketter hjÀlper alla anvÀndare att förstÄ syftet med varje inmatningsfÀlt, vilket förbÀttrar den övergripande anvÀndbarheten.
- TillgÀnglighet: Etiketter ger viktig information för anvÀndare med funktionsnedsÀttningar, sÀrskilt de som förlitar sig pÄ hjÀlpmedelsteknik som skÀrmlÀsare. Utan korrekta etiketter kan dessa anvÀndare kanske inte fylla i formulÀr.
- WCAG-efterlevnad: Riktlinjerna för tillgÀngligt webbinnehÄll (WCAG) krÀver att alla formulÀrkontroller har associerade etiketter. Att uppfylla dessa riktlinjer sÀkerstÀller att din webbplats Àr tillgÀnglig och juridiskt förenlig i mÄnga jurisdiktioner.
- SEO: Ăven om det inte Ă€r en direkt rankningsfaktor, tenderar tillgĂ€ngliga webbplatser att ha en bĂ€ttre anvĂ€ndarupplevelse, vilket indirekt kan förbĂ€ttra SEO-prestandan.
FörstÄ WCAG-kraven för formulÀretiketter
WCAG tillhandahÄller specifika riktlinjer för att sÀkerstÀlla formulÀrs tillgÀnglighet. HÀr Àr de viktigaste kraven som rör formulÀretiketter:
WCAG 2.1 FramgÄngskriterium 1.1.1 Icke-textuellt innehÄll (NivÄ A)
Ăven om det inte direkt handlar om etiketter, understryker detta kriterium vikten av att tillhandahĂ„lla textalternativ för allt icke-textuellt innehĂ„ll, inklusive CAPTCHA:er och bilder som anvĂ€nds i formulĂ€r. Ett korrekt etiketterat formulĂ€r Ă€r avgörande för att ge kontext till dessa alternativ.
WCAG 2.1 FramgÄngskriterium 1.3.1 Information och relationer (NivÄ A)
Information, struktur och relationer som förmedlas genom presentation ska kunna bestÀmmas programmatiskt eller finnas tillgÀngliga i text. Detta innebÀr att förhÄllandet mellan en etikett och dess motsvarande inmatningsfÀlt mÄste definieras explicit i HTML-koden.
WCAG 2.1 FramgÄngskriterium 2.4.6 Rubriker och etiketter (NivÄ AA)
Rubriker och etiketter beskriver Àmne eller syfte. FormulÀretiketter ger beskrivande kontext för inmatningsfÀlt, vilket gör det lÀttare för anvÀndare att förstÄ formulÀrets struktur och fylla i det korrekt.
WCAG 2.1 FramgÄngskriterium 3.3.2 Etiketter eller instruktioner (NivÄ A)
Etiketter eller instruktioner tillhandahÄlls nÀr innehÄll krÀver anvÀndarinmatning.
WCAG 2.1 FramgÄngskriterium 4.1.2 Namn, roll, vÀrde (NivÄ A)
För alla anvÀndargrÀnssnittskomponenter (inklusive men inte begrÀnsat till formulÀrelement, lÀnkar och komponenter genererade av skript) kan namn och roll bestÀmmas programmatiskt; tillstÄnd, egenskaper och vÀrden som kan stÀllas in av anvÀndaren kan stÀllas in programmatiskt; och meddelanden om Àndringar av dessa objekt Àr tillgÀngliga för anvÀndarprogram, inklusive hjÀlpmedelsteknik.
BÀsta praxis för att implementera tillgÀngliga formulÀretiketter
HÀr Àr flera bÀsta praxis för att skapa tillgÀngliga formulÀretiketter:
1. AnvÀnd <label>-elementet
<label>-elementet Àr det primÀra sÀttet att associera en textetikett med ett inmatningsfÀlt. Det ger en semantisk och strukturell koppling mellan etiketten och kontrollen. for-attributet i <label>-elementet ska matcha id-attributet för motsvarande inmatningsfÀlt.
Exempel:
<label for="name">Namn:</label>
<input type="text" id="name" name="name">
Felaktigt exempel (undvik):
<span>Namn:</span>
<input type="text" id="name" name="name">
Att anvÀnda ett span-element istÀllet för en label skapar inte den nödvÀndiga programmatiska associationen, vilket gör det oÄtkomligt för skÀrmlÀsare.
2. Associera etiketter explicit med inmatningsfÀlt
SÀkerstÀll en tydlig och explicit association mellan etiketten och inmatningsfÀltet med hjÀlp av for- och id-attributen som visas i exemplet ovan.
3. Placera etiketter korrekt
Placeringen av etiketter kan pÄverka anvÀndbarheten. Generellt sett bör etiketter placeras:
- Ovanför inmatningsfÀltet: Detta Àr ofta det mest tillgÀngliga och anvÀndarvÀnliga alternativet, sÀrskilt för textfÀlt och textomrÄden.
- Till vÀnster om inmatningsfÀltet: Vanligt, men kan vara mindre effektivt för anvÀndare med synnedsÀttningar som kan ha svÄrt att skanna sidan.
- För radioknappar och kryssrutor: Etiketter bör placeras till höger om kontrollen.
TÀnk pÄ kulturella normer nÀr du placerar etiketter. I vissa sprÄk placeras etiketter traditionellt efter inmatningsfÀltet. Anpassa din design för att tillgodose dessa preferenser.
4. TillhandahÄll tydliga och koncisa etiketter
Etiketter ska vara korta, beskrivande och lÀtta att förstÄ. Undvik jargong eller tekniska termer som kan förvirra anvÀndare. AnvÀnd till exempel "AnvÀndarnamn" eller "E-postadress" istÀllet för "UserID". Consider localization. Ensure your labels are easily translated into different languages while retaining their meaning. TÀnk pÄ lokalisering. Se till att dina etiketter enkelt kan översÀttas till olika sprÄk samtidigt som de behÄller sin betydelse.
5. AnvÀnd ARIA-attribut vid behov
ARIA-attribut (Accessible Rich Internet Applications) kan förbÀttra tillgÀngligheten för formulÀrelement, sÀrskilt i komplexa scenarier. AnvÀnd dock ARIA med omdöme och endast nÀr inbyggda HTML-element och -attribut Àr otillrÀckliga.
- aria-label: AnvÀnd detta attribut för att ge en etikett nÀr en synlig etikett inte Àr möjlig eller praktisk.
- aria-labelledby: AnvÀnd detta attribut för att referera till ID:t för ett befintligt element pÄ sidan som ska fungera som etikett.
- aria-describedby: AnvÀnd detta attribut för att ge ytterligare information eller instruktioner för inmatningsfÀltet. Detta Àr anvÀndbart för att ge kontext eller förklara valideringsregler.
Exempel med aria-label:
<input type="search" aria-label="Sök pÄ webbplatsen">
Exempel med aria-labelledby:
<h2 id="newsletter-title">Nyhetsbrevsprenumeration</h2>
<input type="email" aria-labelledby="newsletter-title" placeholder="Ange din e-postadress">
6. Gruppera relaterade formulÀrelement med <fieldset> och <legend>
<fieldset>-elementet grupperar relaterade formulÀrkontroller, och <legend>-elementet ger en rubrik för fÀltgruppen. Detta förbÀttrar formulÀrets struktur och gör det lÀttare för anvÀndare att förstÄ sambanden mellan olika inmatningsfÀlt.
Exempel:
<fieldset>
<legend>Kontaktinformation</legend>
<label for="name">Namn:</label>
<input type="text" id="name" name="name"><br><br>
<label for="email">E-post:</label>
<input type="email" id="email" name="email">
</fieldset>
7. Ge tydliga felmeddelanden
NÀr anvÀndare gör fel nÀr de fyller i ett formulÀr, ge tydliga och informativa felmeddelanden som förklarar vad som gick fel och hur man korrigerar felet. Associera dessa felmeddelanden med motsvarande inmatningsfÀlt med hjÀlp av ARIA-attribut som aria-describedby.
Exempel:
<label for="email">E-post:</label>
<input type="email" id="email" name="email" aria-describedby="email-error">
<span id="email-error" class="error-message">VĂ€nligen ange en giltig e-postadress.</span>
Se till att felmeddelandet Àr visuellt distinkt (t.ex. genom att anvÀnda fÀrg eller ikoner) och programmatiskt tillgÀngligt för hjÀlpmedelsteknik.
8. AnvÀnd tillrÀcklig fÀrgkontrast
SÀkerstÀll tillrÀcklig fÀrgkontrast mellan etikettexten och bakgrundsfÀrgen för att uppfylla WCAG-kraven. AnvÀnd ett verktyg för att analysera fÀrgkontrast för att verifiera att kontrastförhÄllandet uppfyller minimikraven (4.5:1 för normal text och 3:1 för stor text). Detta hjÀlper anvÀndare med nedsatt syn att lÀttare lÀsa etiketterna.
9. SÀkerstÀll tangentbordstillgÀnglighet
Alla formulÀrelement ska vara tillgÀngliga med endast tangentbordet. AnvÀndare ska kunna navigera genom formulÀret med Tab-tangenten och interagera med formulÀrkontroller med mellanslagstangenten eller Enter-tangenten. Testa dina formulÀr noggrant med ett tangentbord för att sÀkerstÀlla korrekt tangentbordstillgÀnglighet.
10. Testa med hjÀlpmedelsteknik
Det bÀsta sÀttet att sÀkerstÀlla att dina formulÀr Àr tillgÀngliga Àr att testa dem med hjÀlpmedelsteknik som skÀrmlÀsare (t.ex. NVDA, JAWS, VoiceOver). Detta hjÀlper dig att identifiera eventuella tillgÀnglighetsproblem som kanske inte Àr uppenbara vid visuell inspektion. Involvera anvÀndare med funktionsnedsÀttningar i din testprocess för att fÄ vÀrdefull feedback och kontinuerligt förbÀttra din webbplats tillgÀnglighet.
Exempel pÄ implementeringar av tillgÀngliga formulÀretiketter
Exempel 1: Enkelt kontaktformulÀr (internationellt perspektiv)
TÀnk dig ett kontaktformulÀr för en global publik. Etiketterna ska vara tydliga, koncisa och lÀtta att översÀtta.
<form>
<label for="name">FullstÀndigt namn:</label>
<input type="text" id="name" name="name"><br><br>
<label for="email">E-postadress:</label>
<input type="email" id="email" name="email"><br><br>
<label for="country">Land:</label>
<select id="country" name="country">
<option value="">VĂ€lj land</option>
<option value="us">USA</option>
<option value="ca">Kanada</option>
<option value="uk">Storbritannien</option>
<option value="de">Tyskland</option>
<option value="fr">Frankrike</option>
<option value="jp">Japan</option>
<option value="au">Australien</option>
<!-- LÀgg till fler lÀnder -->
</select><br><br>
<label for="message">Meddelande:</label>
<textarea id="message" name="message" rows="4" cols="50"></textarea><br><br>
<input type="submit" value="Skicka">
</form>
Notera anvÀndningen av "FullstÀndigt namn" istÀllet för bara "Namn" för tydlighetens skull, sÀrskilt för kulturer dÀr efternamnet kommer före förnamnet.
Exempel 2: KassaformulÀr för e-handel
KassaformulÀr för e-handel krÀver ofta kÀnslig information. Tydliga etiketter och instruktioner Àr avgörande för att bygga förtroende och sÀkerstÀlla tillgÀnglighet.
<form>
<fieldset>
<legend>Leveransadress</legend>
<label for="shipping_name">FullstÀndigt namn:</label>
<input type="text" id="shipping_name" name="shipping_name"><br><br>
<label for="shipping_address">Adress:</label>
<input type="text" id="shipping_address" name="shipping_address"><br><br>
<label for="shipping_city">Stad:</label>
<input type="text" id="shipping_city" name="shipping_city"><br><br>
<label for="shipping_zip">Postnummer:</label>
<input type="text" id="shipping_zip" name="shipping_zip"><br><br>
<label for="shipping_country">Land:</label>
<select id="shipping_country" name="shipping_country">
<option value="">VĂ€lj land</option>
<option value="us">USA</option>
<option value="ca">Kanada</option>
<!-- LÀgg till fler lÀnder -->
</select>
</fieldset>
<fieldset>
<legend>Betalningsinformation</legend>
<label for="card_number">Kreditkortsnummer:</label>
<input type="text" id="card_number" name="card_number"><br><br>
<label for="expiry_date">UtgĂ„ngsdatum (MM/Ă
Ă
):</label>
<input type="text" id="expiry_date" name="expiry_date" placeholder="MM/Ă
Ă
"><br><br>
<label for="cvv">CVV:</label>
<input type="text" id="cvv" name="cvv"><br><br>
</fieldset>
<input type="submit" value="Slutför köp">
</form>
AnvÀndningen av fieldsets och legends organiserar tydligt formulÀret i logiska sektioner. PlatshÄllartext ger ytterligare vÀgledning, men kom ihÄg att platshÄllartext inte ska anvÀndas som ersÀttning för etiketter.
Exempel 3: RegistreringsformulÀr med ARIA-attribut
TÀnk dig ett registreringsformulÀr dÀr ett smeknamn Àr valfritt. Med hjÀlp av ARIA-attribut kan vi ge ytterligare kontext.
<form>
<label for="username">AnvÀndarnamn:</label>
<input type="text" id="username" name="username" required><br><br>
<label for="password">Lösenord:</label>
<input type="password" id="password" name="password" required><br><br>
<label for="nickname">Smeknamn (valfritt):</label>
<input type="text" id="nickname" name="nickname" aria-describedby="nickname-info">
<span id="nickname-info">Detta smeknamn kommer att visas offentligt.</span><br><br>
<input type="submit" value="Registrera">
</form>
aria-describedby-attributet lÀnkar smeknamnsfÀltet till ett span-element som ger ytterligare information om hur smeknamnet kommer att anvÀndas.
Verktyg för att testa formulÀrtillgÀnglighet
Flera verktyg kan hjÀlpa dig att utvÀrdera tillgÀngligheten pÄ dina formulÀr:
- Accessibility Insights: Ett webblÀsartillÀgg som identifierar tillgÀnglighetsproblem pÄ webbsidor.
- WAVE (Web Accessibility Evaluation Tool): Ett onlineverktyg som utvÀrderar webbsidors tillgÀnglighetsfel.
- axe DevTools: Ett webblÀsartillÀgg som utför automatiserad tillgÀnglighetstestning.
- SkÀrmlÀsare (NVDA, JAWS, VoiceOver): Testning med skÀrmlÀsare Àr avgörande för att identifiera tillgÀnglighetsproblem som kanske inte Àr uppenbara genom automatiserad testning.
Slutsats
TillgÀngliga formulÀretiketter Àr avgörande för att skapa inkluderande webbupplevelser. Genom att följa de bÀsta praxis som beskrivs i denna guide kan du sÀkerstÀlla att dina formulÀr Àr anvÀndbara för alla, oavsett deras förmÄgor. Att prioritera tillgÀnglighet gynnar inte bara anvÀndare med funktionsnedsÀttningar utan förbÀttrar ocksÄ den övergripande anvÀndbarheten pÄ din webbplats för alla anvÀndare. Kom ihÄg att konsekvent testa dina formulÀr med hjÀlpmedelsteknik och involvera anvÀndare med funktionsnedsÀttningar i din testprocess för att fÄ vÀrdefull feedback och kontinuerligt förbÀttra din webbplats tillgÀnglighet.
Att omfamna tillgÀnglighet Àr inte bara en frÄga om efterlevnad; det handlar om att skapa en mer inkluderande och rÀttvis webb för alla. Genom att investera i tillgÀnglig formulÀrdesign visar du ett engagemang för inkludering och skapar en bÀttre anvÀndarupplevelse för alla.